/**
 * 
 */
package com.gragra.sequentiaDataGenerator;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
/**
 * this interface is used in generating entries by the BaseGenerator class. The method segment is given a String
 * that contains no whitespaces and returns a ObjectArrayList that contains arrays of String. Each array is
 * interpreted as follows:
 * - first element is a Word
 * - second element is a Tag or NONE
 * - all following elements are pairs where the 2+(2*i)th entry is some ExtensionLevel information and
 *   the 2+(2*i)+1th entry is the value for that level
 * @author Christoph Teichmann
 * created Mar 26, 2013 2:56:51 PM
 * @version 0.1
 */
public interface Segmentation
{
	/**
	 * the arrays are just for further processing, each array contains only one element; the returned list
	 * may be modified internal to allow for efficient reuse.
	 * @param s
	 * @return
	 */
	ObjectArrayList<String[]> segment(String s);
}